/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package logica;

import fisica.CapaFisica;
import fisica.HolterDePresionEstudioCardiologiaFisica;
import hibernate.objeto.HolterDePresionEstudioCardiologia;

/**
 *
 * @author Gonzalo
 */
public class HolterDePresionEstudioCardiologiaLogica extends CapaLogica {

    /**
     * Crea y persiste el examen Holter De Presion del estudio de cardiología.
     *
     * @param datosEstudioCardiologia Los datos del estudio Holter De Presion
     * creado para su posterior recuperación
     * @param idHolterDePresionEstudioCardiologia El id del objeto
     * @return true si se agregó correctamente, false en caso contrario
     */
    public static boolean agregarHolterDePresionEstudioCardiologia(
            Object[] datosEstudioCardiologia,
            int[] idHolterDePresionEstudioCardiologia) {
        //Crea el objeto
        HolterDePresionEstudioCardiologia holterHolterDePresionEstudioCardiologia =
                crearObjetoHolterDePresionEstudioCardiologia(datosEstudioCardiologia);

        //Persiste el objeto
        if (CapaFisica.guardarOActualizarObjeto(holterHolterDePresionEstudioCardiologia)) {
            idHolterDePresionEstudioCardiologia[0] = holterHolterDePresionEstudioCardiologia
                    .getIdHolterDePresionEstudioCardiologia();
            return true;
        } else {
            return false;
        }
    }

    /**
     * Crea el objeto Holter De Presion.
     *
     * @param datosEstudioCardiologia Los datos del Holter De Presion
     * @return El objeto creado
     */
    private static HolterDePresionEstudioCardiologia
            crearObjetoHolterDePresionEstudioCardiologia(
            Object[] datosEstudioCardiologia) {

        HolterDePresionEstudioCardiologia holterDePresionEstudioCardiologia =
                new HolterDePresionEstudioCardiologia();

        holterDePresionEstudioCardiologia.setConclusionHolterDePresionEstudioCardiologia(
                datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_HOLTER_DE_PRESION_CONCLUSIONES].toString());

        holterDePresionEstudioCardiologia.setDuracionEnHorasHolterDePresionEstudioCardiologia(
                datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_HOLTER_DE_PRESION_DURACION_EN_HORAS].toString());

        holterDePresionEstudioCardiologia.setTensionArterialDiastolicaHolterDePresionEstudioCardiolog(
                (Integer)datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_HOLTER_DE_PRESION_TENSION_ARTERIAL_DIASTOLICA]);

        holterDePresionEstudioCardiologia.setTensionArterialMaximaHolterDePresionEstudioCardiologia(
                (Integer)datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_HOLTER_DE_PRESION_TENSION_ARTERIAL_MAXIMA]);

        holterDePresionEstudioCardiologia.setTensionArterialMinimaHolterDePresionEstudioCardiologia(
                (Integer)datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_HOLTER_DE_PRESION_TENSION_ARTERIAL_MINIMA]);

        holterDePresionEstudioCardiologia.setTensionArterialPromedioHolterDePresionEstudioCardiologia(
                (Integer)datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_HOLTER_DE_PRESION_TENSION_ARTERIAL_PROMEDIO]);

        holterDePresionEstudioCardiologia.setTensionArterialSistolicaHolterDePresionEstudioCardiologi(
                (Integer)datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_HOLTER_DE_PRESION_TENSION_ARTERIAL_SISTOLICA]);

        return holterDePresionEstudioCardiologia;
    }

    /**
     * Retorna el objeto HolterDePresionEstudioCardiologia según el id.
     *
     * @param idHolterDePresionEstudioCardiologia  El id de la
     * HolterDePresionEstudioCardiologia
     * @return El objeto HolterDePresionEstudioCardiologia consultado, null si no existe
     */
    static HolterDePresionEstudioCardiologia getHolterDePresionEstudioCardiologiaPorId(
            int idHolterDePresionEstudioCardiologia) {
        return HolterDePresionEstudioCardiologiaFisica
                .getHolterDePresionEstudioCardiologiaPorId(
                idHolterDePresionEstudioCardiologia);
    }
}
